// Header file.  Include class definition for Lap but not the implementation of the 
//  class member functions.  Also include a couple of global variables

#include <iostream>
using namespace std;


//  Global constants giving the number of variables, variable names
const int num_data_vars = 27;
//  The global enum (enumeration) here gives the order of the variables in the lap data files
enum Which_var { GPS_READING, GPS_TIME, GPS_WEEKS, ELAPSED_TIME, LAT_DEGREES, LON_DEGREES,
     LAT_FEET, LON_FEET, ALTITUDE_FEET, TEMP_F, EAST_VEL, NORTH_VEL, VERT_VEL, 
     VEL_MPH, HEADING_DEG, XGS, YGS, RPMS, D4, D5, A0, A1, A2, A3, GEAR, 
     BRAKE_CALC, ACCEL_CALC };  



class Lap  // Lap class
{
private:
//  All of your data members should be private
   int lap_num;   // holds the lap number
//  The array of pointers declared below will be a big 2d array holding 
//  all of the lap data read in from the lap files.
//  Unfortunately we don't know how many data points there will be in each lap yet
//  But we do know there are 27 variables.  So we declare an array of 27 pointers
//  And we will allocate the second dimension later using 'new' 
   double *lap_data[num_data_vars]; 

//  Add more data members here----------------------------------------------
   int DATAlines;

public:
   Lap(int num);  // constructor - will set lap number, and read in data file
   ~Lap();    // destructor - will free up the space we've allocated when we're done
   void read_file(); // read in the lap datafile 

//  Add more member function prototypes here--------------------------------
   int LapN();
   double LapTime();
   double AVGTime();
   double AVGAccel();
   double MAXspd();
   double MINspd();
   double TURNSPD(double&);
   void OUTACCEL(int);
   
}; 
